﻿using System;

namespace Communication.Message.Buffer
{
	// Token: 0x02000002 RID: 2
	public interface MessageBuffer
	{
		// Token: 0x06000001 RID: 1
		int ReaderIndex();

		// Token: 0x06000002 RID: 2
		int WriterIndex();

		// Token: 0x06000003 RID: 3
		void SetIndex(int readerIndex, int writerIndex);

		// Token: 0x06000004 RID: 4
		void ReaderIndex(int readerIndex);

		// Token: 0x06000005 RID: 5
		void WriterIndex(int writerIndex);

		// Token: 0x06000006 RID: 6
		bool Readable();

		// Token: 0x06000007 RID: 7
		bool Writable();

		// Token: 0x06000008 RID: 8
		int Capacity();

		// Token: 0x06000009 RID: 9
		int ReadableBytes();

		// Token: 0x0600000A RID: 10
		int WritableBytes();

		// Token: 0x0600000B RID: 11
		void DiscardReadBytes();

		// Token: 0x0600000C RID: 12
		void Clear();

		// Token: 0x0600000D RID: 13
		void WriteByte(byte b);

		// Token: 0x0600000E RID: 14
		void WriteShort(short s);

		// Token: 0x0600000F RID: 15
		void WriteUshort(ushort us);

		// Token: 0x06000010 RID: 16
		void WriteInt(int i);

		// Token: 0x06000011 RID: 17
		void WriteUint(uint ui);

		// Token: 0x06000012 RID: 18
		void SetByte(int index, byte b);

		// Token: 0x06000013 RID: 19
		void SetShort(int index, short s);

		// Token: 0x06000014 RID: 20
		void SetUshort(int index, ushort us);

		// Token: 0x06000015 RID: 21
		void SetInt(int index, int i);

		// Token: 0x06000016 RID: 22
		void SetUint(int index, uint ui);

		// Token: 0x06000017 RID: 23
		byte ReadByte();

		// Token: 0x06000018 RID: 24
		short ReadShort();

		// Token: 0x06000019 RID: 25
		ushort ReadUshort();

		// Token: 0x0600001A RID: 26
		int ReadInt();

		// Token: 0x0600001B RID: 27
		uint ReadUint();

		// Token: 0x0600001C RID: 28
		byte GetByte(int index);

		// Token: 0x0600001D RID: 29
		short GetShort(int index);

		// Token: 0x0600001E RID: 30
		ushort GetUshort(int index);

		// Token: 0x0600001F RID: 31
		int GetInt(int index);

		// Token: 0x06000020 RID: 32
		uint GetUint(int index);

		// Token: 0x06000021 RID: 33
		int ReadBytes(byte[] dst, int dstIndex);

		// Token: 0x06000022 RID: 34
		void GetBytes(int index, byte[] dst, int dstIndex, int length);

		// Token: 0x06000023 RID: 35
		void WriteBytes(byte[] src, int srcIndex, int length);

		// Token: 0x06000024 RID: 36
		void WriteBytes(MessageBuffer src, int srcIndex, int length);

		// Token: 0x06000025 RID: 37
		void SetBytes(int index, byte[] src, int srcIndex, int length);

		// Token: 0x06000026 RID: 38
		void SetBytes(int index, MessageBuffer src, int srcIndex, int length);

		// Token: 0x06000027 RID: 39
		byte[] Array();

		// Token: 0x06000028 RID: 40
		MessageBufferFactory Factory();

		// Token: 0x06000029 RID: 41
		ByteOrder Order();

		// Token: 0x0600002A RID: 42
		void EnsureWritableBytes(int writableBytes);

		// Token: 0x0600002B RID: 43
		void MarkReaderIndex();

		// Token: 0x0600002C RID: 44
		void ResetReaderIndex();

		// Token: 0x0600002D RID: 45
		void MarkWriterIndex();

		// Token: 0x0600002E RID: 46
		void ResetWriterIndex();

		// Token: 0x0600002F RID: 47
		bool Equals(MessageBuffer messageBuffer);
	}
}
